#include <iostream>
#include <vector>

int main()
{
    int T, n;
    std::cin >> T >> n;

    std::vector<int> t_vec(n);
    std::vector<int> v_vec(n);
    for (int i = 0; i < n; i++)
    {
        int t, w;
        std::cin >> t >> w;
        t_vec[i] = t;
        v_vec[i] = w;
    }

    std::vector<int> dp(T + 1, 0);
    for (int i = 0; i < n; i++)
    {
        for (int j = T; j >= t_vec[i]; j--)
        {
            dp[j] = std::max(dp[j], dp[j - t_vec[i]] + v_vec[i]);
        }
    }

    std::cout << dp[T] << std::endl;

    return 0;
}